(declare-fun a () String)
(declare-fun b () String)
(declare-fun c () String)
(declare-fun d () String)
(declare-fun e () Bool)
(declare-fun f () Bool)
(declare-fun g () Bool)
(declare-fun h () String)
(assert (= b (str.++ (ite (= c h) a h) (ite (= e f) "A" "") (ite g h "") (ite (= d "") c h))))
(assert (= g (= (ite e "A" c) b)))
(check-sat)
